In the past, data transfer devices have been known, each of which receives response data, transferred from a second device in response to a transfer request transferred from a first device, from the second device, and transfers the received response data to the first device.
In many cases, such data transfer devices may adopt First In First Out (FIFO) methods as data transfer methods, in view of controllability. The FIFO method is a data transfer method in which data stored in a storage region such as a buffer or the like is sequentially read out beginning with the chronologically oldest stored data and transferred.
Specifically, when having received response data from the second device, a data transfer device adopting the FIFO method stores the received response data in a buffer with respect to each tag used for identifying the response data. In addition, the data transfer device reads out data in order, from a buffer corresponding to the tag of the first received response data, and transfers the data to the first device.
An example of such a technique is disclosed in Japanese Laid-open Patent Publication No. 2006-135572.
However, in the above-mentioned data transfer device of the related art, it is not desirable that the throughput of the device is lowered.
Specifically, since the above-mentioned data transfer device of the related art adopts the FIFO method, it is difficult for the data transfer device to read out and transfer response data to the first device, in some cases, even if the data storage amount of a buffer corresponding to the tag of response data reaches a preliminarily set upper limit value. For example, even if the data storage amount of a buffer corresponding to response data A reaches the upper limit value, it is difficult to transfer the response data A prior to response data B when the storage amount of a buffer corresponding to the response data B received before the response data A does not reach the upper limit value. In this case, in the above-mentioned data transfer device of the related art, the transfer of response data to the first device is delayed, and the throughput of the device is lowered.